#ifndef __SYSTEM_MANAGER_H
#define __SYSTEM_MANAGER_H

#include "bsp_system.h"
//系统状态标志位
typedef enum {
    SYS_STATE_INIT,//初始化状态
    SYS_STATE_READY,//就绪状态
    SYS_STATE_SAMPLING,//采样状态
    SYS_STATE_ERROR//错误状态
} system_state_t;

// 自检结果结构体
typedef struct {
    uint8_t flash_ok;          // Flash测试结果
    uint8_t tf_card_ok;        // TF卡测试结果
    uint8_t rtc_ok;            // RTC测试结果
    uint32_t flash_id;      // Flash ID
    uint32_t tf_memory_kb;  // TF卡容量(KB)
    uint8_t rtc_time[32];      // RTC当前时间
    uint8_t overall_pass;      // 整体测试结果
} selftest_result_t;

static void test_flash_module(void);
static void test_rtc_module(void);
static void test_tf_card_module(void);
selftest_result_t system_self_test(void);
void system_all_func_init(void);
#endif